﻿using DAL.Dzb;
using DAL.Gzh;
using DAL.Sys;
using DAL.Webmonitor;
using IDAL.Dzb;
using IDAL.Gzh;
using IDAL.Sys;
using IDAL.Webmonitor;

namespace BLL
{
    //简单工厂类，用于集中统一管理具体实例的生成
    public class DALFactory
    {
        #region 权限系统
        public static IDepartmentRepository SetDepartmentRepository()
        {
            return new DepartmentRepository();
        }
        public static IRoleMenuRepository SetRoleMenuRepository()
        {
            return new RoleMenuRepository();
        }
        public static IMenuRepository SetMenuRepository()
        {
            return new MenuRepository();
        }
        public static IRoleRepository SetRoleRepository()
        {
            return new RoleRepository();
        }
        public static IUserRoleRepository SetUserRoleRepository()
        {
            return new UserRoleRepository();
        }
        public static IUserRepository SetUserRepository()
        {
            return new UserRepository();
        }
        #endregion

        #region 网站监控
        public static IInfoHitRepository SetInfoHitRepository()
        {
            return new InfoHitRepository();
        }
        public static IInfoOriginalRepository SetInfoOriginalRepository()
        {
            return new InfoOriginalRepository();
        }

        public static IKeywordRepository SetKeywordRepository()
        {
            return new KeywordRepository();
        }        

        public static IKeywordType1Repository SetKeywordType1Repository()
        {
            return new KeywordType1Repository();
        }

        public static IKeywordType2Repository SetKeywordType2Repository()
        {
            return new KeywordType2Repository();
        }

        public static IWebsiteJKRepository SetWebsiteJKRepository()
        {
            return new WebsiteJKRepository();
        }

        public static IWebsiteRepository SetWebsiteRepository()
        {
            return new WebsiteRepository();
        }

        public static IWebsiteTypeRepository SetWebsiteTypeRepository()
        {
            return new WebsiteTypeRepository();
        }
        #endregion

        #region 公告号
        public static IXSXXTypeRepository SetXSXXTypeRepository()
        {
            return new XSXXTypeRepository();
        }
        public static IXSXXInfoRepository SetXSXXInfoRepository()
        {
            return new XSXXInfoRepository();
        }
        public static IXSXXClueRepository SetXSXXClueRepository()
        {
            return new XSXXClueRepository();
        }
        public static IPoliceRepository SetPoliceRepository()
        {
            return new PoliceRepository();
        }
        public static ISQJDRepository SetSQJDRepository()
        {
            return new SQJDRepository();
        }
        public static ITSJYRepository SetTSJYRepository()
        {
            return new TSJYRepository();
        }
        public static IWFJBRepository SetWFJBRepository()
        {
            return new WFJBRepository();
        }
        public static IYWLBRepository SetYWLBRepository()
        {
            return new YWLBRepository();
        }
        public static IYWRepository SetYWRepository()
        {
            return new YWRepository();
        }
        public static IYYSMRepository SetYYSMRepository()
        {
            return new YYSMRepository();
        }
        public static IYYXFRepository SetYYXFRepository()
        {
            return new YYXFRepository();
        }
        public static IZLYJRepository SetZLYJRepository()
        {
            return new ZLYJRepository();
        }
        #endregion

        #region 党支部
        public static IPartyRepository SetPartyRepository()
        {
            return new PartyRepository();
        }

        public static IPartyMemberRepository SetPartyMemberRepository()
        {
            return new PartyMemberRepository();
        }
        #endregion

    }
}
